package cn.yang.domain.activity.service;

import cn.yang.domain.activity.model.entity.PartakeRaffleActivityEntity;
import cn.yang.domain.activity.model.entity.UserRaffleOrderEntity;

/**
 * @version v1.0
 * @ClassName: cn.yang.domain.activity.service
 * @Description: 抽奖活动参与服务接口
 * @Author: YJ
 */
public interface IRaffleActivityPartakeService {
    /**
     * 创建抽奖单：用户参与抽奖活动，扣减活动账户库存，产生抽奖单，如存在未被使用的抽奖单则直接返回已存在的抽奖单
     *
     * @param partakeRaffleActivityEntity 抽奖活动参与实体
     * return 用户抽奖订单实体对象
     */
    UserRaffleOrderEntity createOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity);

    /**
     * 创建抽奖单：用户参与抽奖活动，扣减活动账户库存，产生抽奖单，如存在未被使用的抽奖单则直接返回已存在的抽奖单
     *
     * @param partakeRaffleActivityEntity 抽奖活动参与实体
     * return 用户抽奖订单实体对象
     */
    UserRaffleOrderEntity createOrder(String userId,Long activityId);
}
